Day 2 提過,顧問問答有一個很漂亮的特性:每一次顧問審核過的回答,都是下一次的資料。
今天把這個迴圈完整拆開,並且講清楚它為什麼比它看起來的更難。
[1] 問題進來 → 生成初稿
↓
[2] 顧問審核 → 核可 / 修改 / 退回
↓
[3] 回存 → 進入 Q&A 庫(標記審核狀態)
↓
[4] 下次類似問題 → 命中快路徑 或 成為 RAG 檢索來源
↓
回到 [1],但這次初稿更好
轉一圈的效果是:同一類問題被問第二次時,系統的表現優於第一次。 而這個改善不需要重新訓練模型——它來自資料的累積。
這是最容易做錯的地方。很多人只記錄「通過/不通過」,那會浪費掉大部分的資訊。
代表什麼:初稿品質達標。 該存什麼:問題 + 回答,標記 approved,可直接進快路徑。 額外價值:這筆資料同時是最高品質的 SFT 訓練樣本——它是模型自己產的,而且被專家認證過。
代表什麼:方向對,細節錯。 該存什麼:問題 + 最終版回答(不是初稿)+ 修改類型標記。 額外價值:這是資訊量最大的一種。因為你同時擁有「模型寫的」與「應該寫的」,兩者的差異直接指出模型的弱點。
修改類型我分成六種:
| 類型 | 意義 | 修正方向 |
|---|---|---|
| 事實錯誤 | 引用錯、數字錯 | RAG 或前處理問題 |
| 遺漏 | 少講了重要的事 | 檢索不足或 prompt 不夠明確 |
| 冗贅 | 講太多、離題 | SFT 資料的長度分佈 |
| 語氣 | 太生硬 / 太隨便 | SFT 資料的風格 |
| 格式 | 結構不對 | SFT 資料或 template |
| 脈絡 | 沒考慮這個客戶的特殊情況 | 脈絡組裝缺欄位 |
這張表的價值在於它把「模型不夠好」拆成六個可分別處理的問題。 每一種對應的修正手段完全不同——事實錯誤要修 RAG,語氣問題要補訓練資料,脈絡問題要改資料組裝。混在一起看,你只會得到一個「品質有待加強」的無用結論。
代表什麼:初稿沒有價值。 該存什麼:要存,而且要標記為負面樣本。 額外價值:這是唯一能告訴你「哪類問題模型完全處理不了」的訊號。
如果某一類問題的退回率持續偏高,那個類別可能根本不該走 AI 路徑,該直接轉人(回到 Day 18 的 E/F 類設計)。
現在講難的部分。
飛輪的機制是「核可過的回答成為未來的依據」。這代表:
如果某次核可的回答其實有問題,這個問題會被複製到未來所有類似的問題上。
而且它會越轉越穩固——因為快路徑命中之後,審核者看到的是一份「上次已經核可過」的回答,心理上更容易再次核可。這是自動化偏誤(automation bias)的典型形態。
我做了三件事防它:
一、快路徑的審核不能是一鍵通過。 即使命中歷史回答,審核介面仍要顯示「此回答來自 QA-XXXX,由某某於某日核可」,並要求審核者確認。讓來源可見,是對抗盲目信任最便宜的手段。
二、高命中次數的 Q&A 要定期複審。 hit_count 超過門檻的條目進入複審佇列。用得越多的答案,錯的代價越大,值得花時間重看。
三、負面回饋要能溯源。 如果客戶事後反映某個回答有問題,要能查出這個回答來自哪一筆 Q&A、那筆 Q&A 影響了多少後續回答,然後一次性地全部標記重審。
第三點需要記錄每一次回答的來源鏈。這在工程上是額外成本,但沒有它,一個錯誤會無聲地擴散。
累積的 Q&A 資料可以拿來做下一輪的 SFT。但這裡有兩個必須守住的前提:
前提一:只用 approved 狀態的最終版本。 初稿不能進訓練,修改前的版本不能進訓練。只有經過人核可的最終文字才有資格。
前提二:進訓練前必須做去識別化。 真實的 Q&A 含客戶資訊——公司名、人名、主機名、網段。這些絕對不能進訓練集(Day 10 講過理由)。所以回存到訓練用途之前,要走一次去識別化處理。
這一步的工程量比想像中大,而且不能只靠正則。它本身可以是另一個完整的題目——事實上我另外有一個系列在講這件事。
前提三(我後來才加的):訓練資料的抽樣要平衡。 飛輪會自然地累積出偏斜的資料——常見問題累積幾百筆,罕見問題只有兩三筆。直接拿去訓練,模型會在常見問題上過擬合。抽樣時要對類別做平衡。
四個任務裡,只有顧問問答的迴圈是完整的。原因:
任務二特殊,是因為「同樣的問題會被重複問」這個特性。 這是它唯一但決定性的優勢。
如果你在設計自己的系統,值得問一個問題:我的哪個任務有「重複」這個特性? 那個任務就是最該先做的,因為它的邊際效益隨時間增長,其他任務不會。
明天換任務三:月報,以及那個把它從最難變成最好做的框架轉換。
🛡️ Instagram: @aid3fend — AI 資安實戰紀錄,歡迎追蹤交流。